<?php

namespace backend\models;

use common\models\business\ReviewsBusiness;
use common\models\db\Reviews;
use common\models\output\Response;
use yii\base\Model;

class ReviewsForm extends Model {

    public $id;
    public $name;
    public $email;
    public $phone;
    public $active;
    public $home;
    public $description;

    public function rules() {
        return [
            [['name','email','phone','description'], 'required', 'message' => '{attribute} không được để trống'],
            [['active', 'id', 'home'], 'integer'],
            [['name','description'], 'string','message' => '{attribute} ký tự'],
            [['email'], 'email','message' => '{attribute} không đúng định dạng'],
            [['phone'], 'number','message' => '{attribute} phải là số'],
        ];
    }

    public function attributeLabels() {
        return [
            'name' => 'Tên',
            'email' => 'Email',
            'phone' => 'Số điện thoại',
            'description' => 'Mô tả',
        ];
    }

    public function save() {
        if (!$this->validate()) {
            return new Response(false, "Dữ liệu không chính xác vui lòng nhập lại", $this->errors);
        }

        $reviews = ReviewsBusiness::get($this->id);
        if ($reviews == null) {
            $reviews = new Reviews();
            $reviews->createTime = time();
        }
        $reviews->name = $this->name;
        $reviews->description = $this->description;
        $reviews->email = $this->email;
        $reviews->phone = '0'.$this->phone;
        $reviews->active = $this->active == 1 ? 1 : 0;
        $reviews->home = $this->home == 1 ? 1 : 0;
        $reviews->updateTime = time();

        if (!$reviews->save(false)) {
            return new Response(false, "Dữ liệu truyền vào không chính xác vui lòng nhập lại", $reviews->errors);
        }

        return new Response(true, "Change reviews success", $reviews);
    }


}
